// 兼顾性能和精简的nuxt.config配置
export default defineNuxtConfig({
  // 开启局域网访问
  devServer: { host: '0.0.0.0', port: 3000 },

  // 开发工具配置
  devtools: { enabled: false },

  // 服务端渲染
  ssr: true,

  // 核心模块 - 这些都是必需的，不能移除
  modules: ['@pinia/nuxt', '@nuxt/image', '@vant/nuxt', '@nuxt/eslint'],

  // 图片优化配置 - 性能优化
  image: { provider: 'ipx', quality: 100, loading: 'lazy' },

  // 路由重定向 - 保留，这是核心功能
  routeRules: { '/': { redirect: '/home' } },

  // Vite配置 - 性能优化
  vite: {
    // SCSS支持
    css: { preprocessorOptions: { scss: {} } },
    // 生产环境移除console和debugger
    esbuild: {
      drop:
        process.env.NODE_ENV === 'production' ? ['console', 'debugger'] : [],
    },
    // 代码分割策略
    build: {
      rollupOptions: {
        output: {
          manualChunks: {
            vendor: ['vue', 'pinia'],
            vant: ['vant'],
          },
        },
      },
    },
  },

  // 缓存策略 静态资源缓存 1 小时，CDN 缓存 24 小时
  nitro: {
    routeRules: {
      '/**': {
        headers: {
          'Cache-Control': 'public, max-age=3600, s-maxage=86400',
        },
      },
    },
  },

  // 构建配置 确保Vant组件被正确转译
  build: { transpile: ['vant'] },
})
